package BehavioralPattern.Memento;

import java.util.HashMap;
import java.util.Map;

/**
 * @Classname : Caretaker
 * @Description : 管理员角色
 * @Author : chentianyu
 * @Date 2023/3/8 21:11
 */


public class Caretaker {
    // 备份一旦存入内存，由于没有销毁入口，容易产生内存溢出
    // 一种处理方式是增加 mementoMap 上限，并通过 LRU 等方式进行管理
    private Map<String, Memento> mementoMap = new HashMap<>();

    public Memento getMemento(String idx) {
        return mementoMap.get(idx);
    }

    public void setMemento(String idx, Memento memento) {
        this.mementoMap.put(idx ,memento);
    }
}
